home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2001 May / SGI IRIX Base Documentation 2001 May.iso / usr / share / catman / g_man / cat3 / ftn / clippl.z / clippl
Encoding:
Text File  |  1998-10-20  |  5.4 KB  |  133 lines

  1.  
  2.  
  3.  
  4. cccclllliiiippppppppllll((((3333GGGG))))                                                          cccclllliiiippppppppllll((((3333GGGG))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      cccclllliiiippppppppllll - specify a plane against which all geometry is clipped
  10.  
  11. FFFFOOOORRRRTTTTRRRRAAAANNNN SSSSPPPPEEEECCCCIIIIFFFFIIIICCCCAAAATTTTIIIIOOOONNNN
  12.      ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee cccclllliiiippppppppllll((((iiiinnnnddddeeeexxxx,,,, mmmmooooddddeeee,,,, ppppaaaarrrraaaammmmssss))))
  13.      iiiinnnntttteeeeggggeeeerrrr****4444 iiiinnnnddddeeeexxxx,,,, mmmmooooddddeeee
  14.      rrrreeeeaaaallll ppppaaaarrrraaaammmmssss(((())))
  15.  
  16. PPPPAAAARRRRAAAAMMMMEEEETTTTEEEERRRRSSSS
  17.      _i_n_d_e_x    expects an integer in the range 0 through 5, indicating which of
  18.               the 6 clipping planes is being modified.
  19.  
  20.      _m_o_d_e     expects one of three tokens:
  21.  
  22.               CCCCPPPPDDDDEEEEFFFFIIII:  use the plane equation passed in _p_a_r_a_m_s to define a
  23.               clipplane.  The clipplane is neither enabled nor disabled.
  24.  
  25.               CCCCPPPPOOOONNNN:  enable the (previously defined) clipplane.
  26.  
  27.               CCCCPPPPOOOOFFFFFFFF:  disable the clipplane. (default)
  28.  
  29.      _p_a_r_a_m_s   expects an array of 4 floats that specify a plane equation.  A
  30.               plane equation is usually thought of as a 4-vector [A,B,C,D].
  31.               In this case, A is the first component of the _p_a_r_a_m_s array, and
  32.               D is the last.  A 4-component vertex array (see vvvv4444ffff) can be
  33.               passed as a plane equation, where vertex X becomes A, Y becomes
  34.               B, etc.  The specified contents of _p_a_r_a_m_s are insignificant when
  35.               _m_o_d_e is
  36.  
  37. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  38.      Geometry is always clipped against the boundaries of a 6-plane frustum in
  39.      _x, _y, and _z. cccclllliiiippppppppllll allows the specification of additional planes, not
  40.      necessarily perpendicular to the _x, _y, or _z axes, against which all
  41.      geometry is clipped.  Up to 6 additional planes can be specified.
  42.      Because the resulting clipping region is always the intersection of the
  43.      (up to) 12 half-spaces, it is always convex.
  44.  
  45.      cccclllliiiippppppppllll specifies a half-space using a 4-component plane equation.  When
  46.      it is called with mode CCCCPPPPDDDDEEEEFFFFIIII, this object-coordinate plane equation is
  47.      transformed to eye-coordinates using the inverse of the current ModelView
  48.      matrix.
  49.  
  50.      A defined clipplane is then enabled by calling cccclllliiiippppppppllll with the CCCCPPPPOOOONNNN
  51.      argument, and with arbitrary values passed in _p_a_r_a_m_s.  While drawing
  52.      after a clipplane has been defined and enabled, each vertex is
  53.      transformed to eye-coordinates, where it is dotted with the transformed
  54.      clipping plane equation.  Eye-coordinate vertexes whose dot product with
  55.      the transformed clipping plane equation is positive or zero are in, and
  56.      require no clipping.  Those eye-coordinate vertexes whose dot product is
  57.      negative are clipped.  Because cccclllliiiippppppppllll clipping is done in eye-
  58.      coordinates, changes to the projection matrix have no effect on its
  59.      operation.
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. cccclllliiiippppppppllll((((3333GGGG))))                                                          cccclllliiiippppppppllll((((3333GGGG))))
  71.  
  72.  
  73.  
  74.      By default all six clipping planes are undefined and disabled.  The
  75.      behavior of an enabled but undefined clipplane is undefined.
  76.  
  77. NNNNOOOOTTTTEEEESSSS
  78.      IRIS-4D models G, GT, and GTX, and the Personal Iris, do not implement
  79.      cccclllliiiippppppppllll.  Use ggggeeeettttggggddddeeee to determine whether user-defined clipping planes are
  80.      supported.
  81.  
  82.      cccclllliiiippppppppllll cannot be used while mmmmmmmmooooddddeeee is MMMMSSSSIIIINNNNGGGGLLLL.
  83.  
  84.      A point and a normal are converted to a plane equation in the following
  85.      manner:
  86.  
  87.           point = [Px,Py,Pz]
  88.  
  89.           normal = |Nx|
  90.                    |Ny|
  91.                    |Nz|
  92.  
  93.           plane equation = |A|
  94.                            |B|
  95.                            |C|
  96.                            |D|
  97.               A = Nx
  98.               B = Ny
  99.               C = Nz
  100.               D = -[Px,Py,Pz] dot |Nx|
  101.                          |Ny|
  102.                          |Nz|
  103.  
  104.  
  105. BBBBUUUUGGGGSSSS
  106.      On Impact and Infinite Reality cccclllliiiippppppppllll cannot be used with ddddeeeepppptttthhhhcccc
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.